 //控制层 
app.controller('typeTemplateController' ,function($scope,$controller,brandService,specificationService,typeTemplateService){
	
	$controller('baseController',{$scope:$scope});//继承
	
    //读取列表数据绑定到表单中  
	$scope.findAll=function(){
		typeTemplateService.findAll().success(
			function(response){
				$scope.list=response;
			}			
		);
	}    
	
	//分页
	$scope.findPage=function(page,rows){			
		typeTemplateService.findPage(page,rows).success(
			function(response){
				$scope.list=response.rows;	
				$scope.paginationConf.totalItems=response.total;//更新总记录数
			}			
		);
	}
	
	//查询实体 
	$scope.findOne=function(id){				
		typeTemplateService.findOne(id).success(
			function(response){
				$scope.entity= response;					
			}
		);				
	}
	
	//保存 
	$scope.save=function(){				
		//得到模板id
		let id = $scope.entity.id;
		//定义添加的url
		let url="../typeTemplate/add.do";
		//判断id是否存在，存在则是修改
		if(id){
			url="../typeTemplate/update.do";
		}
		//调用服务的方法
		typeTemplateService.save(url,$scope.entity).success(response=>{
			if(response.success){
				alert(response.message);
			}else {
				alert(response.message);
			}
			//关闭模态框
			$("#editModal").modal("hide");
			//刷新页面
			$scope.findAll();
		})
	}
	
	 
	//批量删除 
	$scope.deleteChoose=function(){
		//获取选中的复选框			
		typeTemplateService.dele($scope.deleteIds).success(
			function(response){
				//弹窗提示
				if(response.success){
					alert(response.message)
				}else {
					alert(response.message);
				}
					$scope.findAll();//刷新列表
					$scope.deleteIds=[];//清空批量删除的数组
			}
		);				
	}
	
	$scope.searchEntity={};//定义搜索对象 
	
	//搜索
	$scope.search=function(page,rows){			
		typeTemplateService.search(page,rows,$scope.searchEntity).success(
			function(response){
				$scope.list=response.rows;	
				$scope.paginationConf.totalItems=response.total;//更新总记录数
			}			
		);
	}
	//查询规格列表
	$scope.findSpec=()=>{
		specificationService.findSpecList().success(response=>{
			$scope.specList={data:response};
		})
	}
	//查询品牌列表
	$scope.findBrand=()=>{
		brandService.findBrandList().success(response=>{
			$scope.brandList={data:response};
        })
	}

	//对模板表的相关数据进行初始化
	$scope.entity={customAttributeItems:[]};

    //新增扩展属性
	$scope.addAttributeAttr=()=>{
		$scope.entity.customAttributeItems.push({});
	}
	//删除扩展属性
	$scope.deleteCustom=(index)=>{
		$scope.entity.customAttributeItems.splice(index,1);
	}
	//修改界面操作
	$scope.updateUI=(template)=>{
		//将页面的数据和entity进行绑定
        $scope.entity = template;
        //将json字符串转换为json对象
		$scope.entity.specIds = JSON.parse($scope.entity.specIds);
		$scope.entity.brandIds = JSON.parse($scope.entity.brandIds);
		$scope.entity.customAttributeItems = JSON.parse($scope.entity.customAttributeItems);
	}
	//处理json字符串为单个数据
	$scope.jsonToString=(jsonString,key)=>{
		//将字符串转成json对象
		let json=JSON.parse(jsonString);
		//定义字符串接收属性
		let str="";
		//遍历json对象
        for (let i = 0; i <json.length ; i++) {
        	//字符串拼接属性
			str += json[i][key]+",";
        }
        //截取字符串，去掉最后一个逗号
		str=str.substring(0,str.length-1);
        //返回属性
		return str;
	}
});	
